from fastapi import FastAPI
from fastapi.responses import RedirectResponse
from fastapi.middleware.cors import CORSMiddleware
import uvicorn
from chatapi import router as chat_router
from fastapi.staticfiles import StaticFiles

#实例化一个FastAPI
app=FastAPI()

#设置允许跨域请求

origins=["*"]

#添加CORS 中间件的应用程序中
app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,#允许的来源
    allow_credentials=True,#允许携带凭证（如 cookie）
    allow_methods=["*"], #允许所有http 请求的方法（如 get post）
    allow_headers=["*"],#允许所有http头部
)
 
#将前端页面也公开让人访问
app.mount("/frontend",StaticFiles(directory="frontend"),name="frontend")

#默认路由
@app.get("/",include_in_schema=False)
async def root():
    return RedirectResponse(url="/docs")

#公开接口服务

app.include_router(chat_router)  #添加到公开路由中

#应用程式入口

if __name__=="__main__":
    config=uvicorn.Config("main:app","127.0.0.1",8000) #配置启动指令、地址、端口
    server=uvicorn.Server(config)# 将配置添加到服务
    server.run() #启动服务
    
    


